package com.tencent.wxcloudrun.service;

import java.util.List;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tencent.wxcloudrun.domain.TUserCardApply;
import com.tencent.wxcloudrun.vo.request.card.StoreCardApproveApplyReqVo;

/**
 * @author ziyin.zhao
 * @description 针对表【t_user_card_apply(用户卡片记录表)】的数据库操作Service
 * @createDate 2025-05-13 09:21:26
 */
public interface TUserCardApplyService extends IService<TUserCardApply> {

    /**
     * 取消申请
     *
     * @param userCardApplyId 用户卡片申请序号
     */
    void cancelApply(Long userCardApplyId);

    /**
     * 审批申请
     *
     * @param userId 用户序号
     * @param reqVo 审批入参
     * @return 申请信息
     */
    TUserCardApply approveApply(Long userId, StoreCardApproveApplyReqVo reqVo);

    /**
     * 根据用户申请状态、用户ID查询申请卡片列表
     *
     * @param page 分页参数
     * @param userId 用户ID
     * @param status 申请状态
     * @return 申请卡片列表
     */
    Page<TUserCardApply> listApply(Page<TUserCardApply> page, Long userId, Integer status);

}
